The present invention generally relates to the field of RAID devices, and particularly to a simple and scalable RAID XOR assist logic with overlapped operations.
The efficient and precise storage of computer information is one of the most important considerations of the modern economy. From web sites to banking information, the accurate and safe storage of information is necessary in all aspects of modern life. One method utilized for the safe storage of data in an efficient manner is RAID storage systems. RAID storage systems combine many smaller and inexpensive disks, instead of one large disk, to form logical drives. To preserve data integrity, most RAID implementations include redundancy in order to protect the valuable information that may be included on the system. However, this redundancy may result in increased overhead, such as the consumption of valuable system resources and time, needed to perform functions, such as saving data.
For example, one of the most popular RAID systems is RAID 5. RAID 5 stripes both data and parity information across a plurality of drives utilizing a distributed parity process. In this way, both data and parity blocks are distributed across the drives in the array. However, the writing of data to such an array may be resource and time intensive, thereby resulting in diminished effectiveness. For instance, in order to modify a stored block of data, a controller of a RAID 5 system must engage in a long process in order to insure data integrity that includes reading existing blocks, removing data knowledge of the changed block from the parity block, calculating new parity, and updating the data block and the parity block. This process may require a significant amount of system resources and time in order to accomplish.
Therefore, it would be desirable to provide an improved system and method for increasing RAID system effectiveness.
Accordingly, the present invention is directed to a simple and scalable RAID XOR assist logic with overlapped operations. In a first aspect of the present invention, an apparatus suitable for performing overlapped operations includes an exclusive OR (XOR) unit suitable for performing an exclusive OR (XOR) operation. A memory communicatively coupled to the XOR unit, wherein the memory is suitable for storing a first item of data and a second item of data thereby enabling overlapped operations of the exclusive OR (XOR) unit.
In a second aspect of the present invention, a RAID system includes an exclusive OR (XOR) unit suitable for performing an exclusive OR (XOR) operation and a memory communicatively coupled to the XOR unit. The memory is suitable for storing a first item of data and a second item of data thereby enabling overlapped operation of the exclusive OR (XOR) unit. An array of disk drives is communicatively coupled to the exclusive OR (XOR) unit.
In a third aspect of the present invention, a method of generating parity utilizing an overlapped function in a RAID array includes receiving an old data set from a data storage array and loading the data to a memory device coupled to an exclusive OR (XOR) unit. Old parity is received from the data storage array, and the old parity is processed through the exclusive OR (XOR) unit with the old data set from the memory device to remove knowledge of the old data set from the old parity. The resultant intermediate parity is stored to the memory device. New parity is generated by reading the new data set and intermediate parity from the memory device processed through the exclusive OR (XOR) unit.